#include <iostream>
using namespace std;
#define M 101
#define N 101
 
int main(int argc, char** argv) {
	char s[M][N];
	int m,n;
	int l=0,r=0,t=0,b=0;
	int sum=0,flag=0;
	int i,j,e,u,k;
	cin>>m>>n;
	for(int i=0;i<m;i++)
	{
		for(int j=0;j<n;j++)
		cin>>s[i][j];
	}
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			l=0,r=0,t=0,b=0;
			while(s[i][j]==s[i][j+r]&j+r<n)
			r++;
			while(s[i][j]==s[i][j-l]&j-l>=0)
			l++;
			while(s[i][j]==s[i+b][j]&i+b<m)
			b++;
			while(s[i][j]==s[i-t][j]&i-t>=0)
			t++;
			for(k=1;k<min(r,b);k++)
			{
				flag=0;
				for(e=i,u=j+k;e<=i+k&&u>=j;e++,u--)
				{
					if(s[i][j]!=s[e][u])
					{
				 		flag=1;	
				 		break;
					}					
				}
				if(flag==0)
				sum++;
			}
			for(k=1;k<min(r,t);k++)
			{
				flag=0;
				for(e=i,u=j+k;e>=i-k&&u>=j;e--,u--)
				{
					if(s[i][j]!=s[e][u])
					{
				 		flag=1;	
				 		break;
					}	
				}
				if(flag==0)
				sum++;
			}
			for(k=1;k<min(l,b);k++)
			{
				flag=0;
				for(e=i,u=j-k;e<=i+k&&u<=j;e++,u++)
				{
					if(s[i][j]!=s[e][u])
					{
				 		flag=1;	
				 		break;
					}	
				}
				if(flag==0)
				sum++;
			}
			for(k=1;k<min(l,t);k++)
			{
				flag=0;
				for(e=i,u=j-k;e>=i-k&&u<=j;e--,u++)
				{
					if(s[i][j]!=s[e][u])
					{
				 		flag=1;	
				 		break;
					}	
				}
				if(flag==0)
				sum++;
			}
		} 
	}
	cout<<sum;
	return 0;
}
